4

背景

升级 Ubuntu 16.04 都一年了,新版的仓库自带的 PHP 是 7+;而今天突然要对某个老项目进行维护,发现 PHP 版本太高,某些函数已经被取消了;所以查了一下怎么快捷的切换 PHP 版本,这里做个笔记。

详细步骤

安装 PHP 5.6

默认情况下,安装的 PHP 是 7+, 使用 sudo apt install php5 再按 Tab 键是没有任何提示的,因为仓库里没有低版本的 PHP,所以第一步是安装一个低版本的 PHP


# 查看已经安装的 PHP 包

dpkg -l | grep php| awk '{print $2}' |tr "\n" " "

# 添加 PHP PPA

sudo add-apt-repository ppa:ondrej/php

# 更新缓存

sudo apt-get update

# 安装 PHP5.6

sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml libapache2-mod-php5.6

参考:How can I downgrade from PHP 7 to PHP 5.6 on Ubuntu 16.04

参考:Installing PHP 5.6 on Xenial (16.04)

切换版本

一般情况下,只需要切换两处的版本 CGICLI 分别用于 Apache 等服务器和命令行

PHP 7 ->5


# 禁用 Apache 中的 PHP7

sudo a2dismod php7

# 启用 PHP5.6

sudo a2enmod php5.6

# 重启 Apache

sudo systemctl restart apache2.service



# 切换 CLI 

sudo update-alternatives --set php /usr/bin/php5.6

PHP 5 ->7


# 禁用 Apache 中的 PHP5

sudo a2dismod php5.6

# 启用 PHP7

sudo a2enmod php7

# 重启 Apache

sudo systemctl restart apache2.service



# 切换 CLI 

sudo update-alternatives --set php /usr/bin/php7.0

hefengxian
206 声望1 粉丝